<HTML><HEAD>
<META NAME="copyright" CONTENT="Copyright (c) 1986-2004, Eiffel Software and others">
<META NAME="license" CONTENT="Eiffel Forum License v2 (see forum.txt)">
<META NAME="description" CONTENT="Garbage collector statistics. This class may be used as ancestor by classes needing its facilities. Time accounting is relevant only if `enable_time_accounting'  (from MEMORY) has been called.">
<META NAME="library" CONTENT="Free implementation of ELKS library">
<META NAME="keywords" CONTENT="Eiffel class">
<META NAME="keywords" CONTENT="Eiffel class">
<TITLE>gc_info Flat contracts</TITLE></HEAD>
<BODY BGCOLOR="white">
<P ALIGN="CENTER">Automatic generation produced by ISE Eiffel</P>
<PRE><TABLE BORDER="1" ALIGN="CENTER"><TR><TD><A HREF="../class_list.html">Classes</A></TD><TD><A HREF="../cluster_list.html">Clusters</A></TD><TD><A HREF="../cluster_hierarchy.html">Cluster hierarchy</A></TD><TD><A HREF="gc_info_chart.html">Chart</A></TD><TD><A HREF="gc_info_links.html">Relations</A></TD><TD>Flat contracts</TD></TR></TABLE><B>indexing</B>
    description: "[
        Garbage collector statistics.
        This class may be used as ancestor by classes needing its facilities.
        Time accounting is relevant only if `enable_time_accounting' 
        (from MEMORY) has been called.
    ]"
    library: "Free implementation of ELKS library"
    copyright: "Copyright (c) 1986-2004, Eiffel Software and others"
    license: "Eiffel Forum License v2 (see forum.txt)"
    date: "$Date: 2007-09-19 01:20:51 +0200 (Wed, 19 Sep 2007) $"
    revision: "$Revision: 107 $"

<B>class</B> <B>interface</B>
    <A HREF="../base/gc_info_flatshort.html">GC_INFO</A>


<B>create</B> 
    <A NAME="f_make"><A HREF="../base/gc_info_flatshort.html#f_make">make</A> (memory: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Fill in statistics for </FONT>`memory'<FONT COLOR="red"> type</FONT>
        <B>require</B>
            memory_valid: memory = <A HREF="../base/mem_const_flatshort.html#f_incremental_collector">incremental_collector</A> <B>or</B> memory = <A HREF="../base/mem_const_flatshort.html#f_full_collector">full_collector</A>
        <B>ensure</B>
            type_set: <A HREF="../base/gc_info_flatshort.html#f_type">type</A> = memory
</A>
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Initialization</FONT>

    <A NAME="f_make"><A HREF="../base/gc_info_flatshort.html#f_make">make</A> (memory: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Fill in statistics for </FONT>`memory'<FONT COLOR="red"> type</FONT>
        <B>require</B>
            memory_valid: memory = <A HREF="../base/mem_const_flatshort.html#f_incremental_collector">incremental_collector</A> <B>or</B> memory = <A HREF="../base/mem_const_flatshort.html#f_full_collector">full_collector</A>
        <B>ensure</B>
            type_set: <A HREF="../base/gc_info_flatshort.html#f_type">type</A> = memory
</A>
    <A NAME="f_update"><A HREF="../base/gc_info_flatshort.html#f_update">update</A> (memory: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Fill in statistics for </FONT>`memory'<FONT COLOR="red"> type</FONT>
        <B>require</B>
            memory_valid: memory = <A HREF="../base/mem_const_flatshort.html#f_incremental_collector">incremental_collector</A> <B>or</B> memory = <A HREF="../base/mem_const_flatshort.html#f_full_collector">full_collector</A>
        <B>ensure</B>
            type_set: <A HREF="../base/gc_info_flatshort.html#f_type">type</A> = memory
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Access</FONT>

    <A NAME="f_c_memory"><A HREF="../base/mem_const_flatshort.html#f_c_memory">c_memory</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A> <B>is</B> 2</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Code for the C memory managed</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> by the garbage collector</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/mem_const_flatshort.html">MEM_CONST</A><FONT COLOR="red">)</FONT>

    <A NAME="f_collected"><A HREF="../base/gc_info_flatshort.html#f_collected">collected</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Number of bytes collected by the last cycle,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_collected_average"><A HREF="../base/gc_info_flatshort.html#f_collected_average">collected_average</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Average number of bytes collected by a cycle,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_cpu_interval_time"><A HREF="../base/gc_info_flatshort.html#f_cpu_interval_time">cpu_interval_time</A>: <A HREF="../base/real_64_flatshort.html">REAL_64</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Amount of CPU time elapsed since between last</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> and penultimate cycles for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_cpu_interval_time_average"><A HREF="../base/gc_info_flatshort.html#f_cpu_interval_time_average">cpu_interval_time_average</A>: <A HREF="../base/real_64_flatshort.html">REAL_64</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Average amount of CPU time between two cycles,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_cpu_time"><A HREF="../base/gc_info_flatshort.html#f_cpu_time">cpu_time</A>: <A HREF="../base/real_64_flatshort.html">REAL_64</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Amount of CPU time, in seconds, spent in cycle,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_cpu_time_average"><A HREF="../base/gc_info_flatshort.html#f_cpu_time_average">cpu_time_average</A>: <A HREF="../base/real_64_flatshort.html">REAL_64</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Average amount of CPU time spent in cycle,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> in seconds, for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_cpu_total_time"><A HREF="../base/gc_info_flatshort.html#f_cpu_total_time">cpu_total_time</A>: <A HREF="../base/real_64_flatshort.html">REAL_64</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Amount of application CPU time, in seconds, for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_cycle_count"><A HREF="../base/gc_info_flatshort.html#f_cycle_count">cycle_count</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Number of collection cycles for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_eiffel_memory"><A HREF="../base/mem_const_flatshort.html#f_eiffel_memory">eiffel_memory</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A> <B>is</B> 1</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Code for the Eiffel memory managed</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> by the garbage collector</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/mem_const_flatshort.html">MEM_CONST</A><FONT COLOR="red">)</FONT>

    <A NAME="f_full_collector"><A HREF="../base/mem_const_flatshort.html#f_full_collector">full_collector</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A> <B>is</B> 0</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Statistics for full collections</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/mem_const_flatshort.html">MEM_CONST</A><FONT COLOR="red">)</FONT>

    <A NAME="f_generating_type"><A HREF="../base/any_flatshort.html#f_generating_type">generating_type</A>: <A HREF="../base/string_8_flatshort.html">STRING_8</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Name of current object's generating type</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (type of which it is a direct instance)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            generating_type_not_void: <B>Result</B> /= <B>Void</B>
            generating_type_not_empty: <B>not</B> <B>Result</B>.<A HREF="../base/finite_flatshort.html#f_is_empty">is_empty</A>
</A>
    <A NAME="f_generator"><A HREF="../base/any_flatshort.html#f_generator">generator</A>: <A HREF="../base/string_8_flatshort.html">STRING_8</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Name of current object's generating class</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (base class of the type of which it is a direct instance)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            generator_not_void: <B>Result</B> /= <B>Void</B>
            generator_not_empty: <B>not</B> <B>Result</B>.<A HREF="../base/finite_flatshort.html#f_is_empty">is_empty</A>
</A>
    <A NAME="f_incremental_collector"><A HREF="../base/mem_const_flatshort.html#f_incremental_collector">incremental_collector</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A> <B>is</B> 1</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Statistics for incremental collections</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/mem_const_flatshort.html">MEM_CONST</A><FONT COLOR="red">)</FONT>

    <A NAME="f_memory_used"><A HREF="../base/gc_info_flatshort.html#f_memory_used">memory_used</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Total number of bytes used (counting overhead)</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> after last cycle for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_real_interval_time"><A HREF="../base/gc_info_flatshort.html#f_real_interval_time">real_interval_time</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Real interval time (as opposed to CPU time) between</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> two automatically raised cycles, in centi-seconds,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_real_interval_time_average"><A HREF="../base/gc_info_flatshort.html#f_real_interval_time_average">real_interval_time_average</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Average real interval time between two automatic</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> cycles, in centi-seconds,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_real_time"><A HREF="../base/gc_info_flatshort.html#f_real_time">real_time</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Real time in centi-seconds used by last cycle</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red">, before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A><FONT COLOR="red">;</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> this may not be accurate on systems which do not</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> provide a sub-second accuracy clock (typically</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> provided on BSD).</FONT>
</A>
    <A NAME="f_real_time_average"><A HREF="../base/gc_info_flatshort.html#f_real_time_average">real_time_average</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Average amount of real time, in centi-seconds,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> spent in collection cycle,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_sys_interval_time"><A HREF="../base/gc_info_flatshort.html#f_sys_interval_time">sys_interval_time</A>: <A HREF="../base/real_64_flatshort.html">REAL_64</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Amount of kernel time elapsed since between</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> the last and the penultimate cycle,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_sys_interval_time_average"><A HREF="../base/gc_info_flatshort.html#f_sys_interval_time_average">sys_interval_time_average</A>: <A HREF="../base/real_64_flatshort.html">REAL_64</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Average amount of kernel time between two cycles,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_sys_time"><A HREF="../base/gc_info_flatshort.html#f_sys_time">sys_time</A>: <A HREF="../base/real_64_flatshort.html">REAL_64</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Amount of kernel time, in seconds, spent in cycle,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_sys_time_average"><A HREF="../base/gc_info_flatshort.html#f_sys_time_average">sys_time_average</A>: <A HREF="../base/real_64_flatshort.html">REAL_64</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Average amount of kernel time spent in cycle,</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_sys_total_time"><A HREF="../base/gc_info_flatshort.html#f_sys_total_time">sys_total_time</A>: <A HREF="../base/real_64_flatshort.html">REAL_64</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Amount of application kernel time, in seconds, for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
</A>
    <A NAME="f_total_memory"><A HREF="../base/mem_const_flatshort.html#f_total_memory">total_memory</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A> <B>is</B> 0</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Code for all the memory managed</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> by the garbage collector</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/mem_const_flatshort.html">MEM_CONST</A><FONT COLOR="red">)</FONT>

    <A NAME="f_type"><A HREF="../base/gc_info_flatshort.html#f_type">type</A>: <A HREF="../base/integer_32_flatshort.html">INTEGER_32</A></A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Collector type (Full, Collect),</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> for </FONT><A HREF="../base/gc_info_flatshort.html#f_type">type</A><FONT COLOR="red"> before last call to </FONT><A HREF="../base/gc_info_flatshort.html#f_update">update</A>
    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Comparison</FONT>

    <A NAME="f_deep_equal"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_deep_equal">deep_equal</A> (some: ?<A HREF="../base/any_flatshort.html">ANY</A>; other: <B>like</B> arg #1): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Are </FONT>`some'<FONT COLOR="red"> and </FONT>`other'<FONT COLOR="red"> either both void</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> or attached to isomorphic object structures?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            shallow_implies_deep: <A HREF="../base/any_flatshort.html#f_standard_equal">standard_equal</A> (some, other) <B>implies</B> <B>Result</B>
            both_or_none_void: (some = <B>Void</B>) <B>implies</B> (<B>Result</B> = (other = <B>Void</B>))
            same_type: (<B>Result</B> <B>and</B> (some /= <B>Void</B>)) <B>implies</B> (other /= <B>Void</B> <B>and then</B> some.<A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other))
            symmetric: <B>Result</B> <B>implies</B> <A HREF="../base/any_flatshort.html#f_deep_equal">deep_equal</A> (other, some)
</A>
    <A NAME="f_equal"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_equal">equal</A> (some: ?<A HREF="../base/any_flatshort.html">ANY</A>; other: <B>like</B> arg #1): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Are </FONT>`some'<FONT COLOR="red"> and </FONT>`other'<FONT COLOR="red"> either both void or attached</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> to objects considered equal?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            definition: <B>Result</B> = (some = <B>Void</B> <B>and</B> other = <B>Void</B>) <B>or else</B> ((some /= <B>Void</B> <B>and</B> other /= <B>Void</B>) <B>and then</B> some.<A HREF="../base/any_flatshort.html#f_is_equal">is_equal</A> (other))
</A>
    <A NAME="f_is_deep_equal"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_is_deep_equal">is_deep_equal</A> (other: <A HREF="../base/gc_info_flatshort.html">GC_INFO</A>): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Are </FONT>`Current'<FONT COLOR="red"> and </FONT>`other'<FONT COLOR="red"> attached to isomorphic object structures?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            shallow_implies_deep: <A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (other) <B>implies</B> <B>Result</B>
            same_type: <B>Result</B> <B>implies</B> <A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other)
            symmetric: <B>Result</B> <B>implies</B> other.<A HREF="../base/any_flatshort.html#f_is_deep_equal">is_deep_equal</A> (<B>Current</B>)
</A>
    <A NAME="f_is_equal"><A HREF="../base/any_flatshort.html#f_is_equal">is_equal</A> (other: <A HREF="../base/gc_info_flatshort.html">GC_INFO</A>): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is </FONT>`other'<FONT COLOR="red"> attached to an object considered</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> equal to current object?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            symmetric: <B>Result</B> <B>implies</B> other.<A HREF="../base/any_flatshort.html#f_is_equal">is_equal</A> (<B>Current</B>)
            consistent: <A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (other) <B>implies</B> <B>Result</B>
</A>
    <A NAME="f_standard_equal"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_standard_equal">standard_equal</A> (some: ?<A HREF="../base/any_flatshort.html">ANY</A>; other: <B>like</B> arg #1): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Are </FONT>`some'<FONT COLOR="red"> and </FONT>`other'<FONT COLOR="red"> either both void or attached to</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> field-by-field identical objects of the same type?</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Always uses default object comparison criterion.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            definition: <B>Result</B> = (some = <B>Void</B> <B>and</B> other = <B>Void</B>) <B>or else</B> ((some /= <B>Void</B> <B>and</B> other /= <B>Void</B>) <B>and then</B> some.<A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (other))
</A>
    <A NAME="f_standard_is_equal"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (other: <A HREF="../base/gc_info_flatshort.html">GC_INFO</A>): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is </FONT>`other'<FONT COLOR="red"> attached to an object of the same type</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> as current object, and field-by-field identical to it?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            same_type: <B>Result</B> <B>implies</B> <A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other)
            symmetric: <B>Result</B> <B>implies</B> other.<A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (<B>Current</B>)
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Status report</FONT>

    <A NAME="f_conforms_to"><A HREF="../base/any_flatshort.html#f_conforms_to">conforms_to</A> (other: <A HREF="../base/any_flatshort.html">ANY</A>): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Does type of current object conform to type</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> of </FONT>`other'<FONT COLOR="red"> (as per Eiffel: The Language, chapter 13)?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
</A>
    <A NAME="f_same_type"><A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other: <A HREF="../base/any_flatshort.html">ANY</A>): <A HREF="../base/boolean_flatshort.html">BOOLEAN</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Is type of current object identical to type of </FONT>`other'<FONT COLOR="red">?</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            definition: <B>Result</B> = (<A HREF="../base/any_flatshort.html#f_conforms_to">conforms_to</A> (other) <B>and</B> other.<A HREF="../base/any_flatshort.html#f_conforms_to">conforms_to</A> (<B>Current</B>))
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Duplication</FONT>

    <A NAME="f_copy"><A HREF="../base/any_flatshort.html#f_copy">copy</A> (other: <A HREF="../base/gc_info_flatshort.html">GC_INFO</A>)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Update current object using fields of object attached</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> to </FONT>`other'<FONT COLOR="red">, so as to yield equal objects.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
            type_identity: <A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other)
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            is_equal: <A HREF="../base/any_flatshort.html#f_is_equal">is_equal</A> (other)
</A>
    <A NAME="f_deep_copy"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_deep_copy">deep_copy</A> (other: <A HREF="../base/gc_info_flatshort.html">GC_INFO</A>)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Effect equivalent to that of:</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red">		</FONT><A HREF="../base/any_flatshort.html#f_copy">copy</A><FONT COLOR="red"> (</FONT>`other'<FONT COLOR="red"> . </FONT><A HREF="../base/any_flatshort.html#f_deep_twin">deep_twin</A><FONT COLOR="red">)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            deep_equal: <A HREF="../base/any_flatshort.html#f_deep_equal">deep_equal</A> (<B>Current</B>, other)
</A>
    <A NAME="f_deep_twin"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_deep_twin">deep_twin</A>: <A HREF="../base/gc_info_flatshort.html">GC_INFO</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> New object structure recursively duplicated from Current.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            deep_twin_not_void: <B>Result</B> /= <B>Void</B>
            deep_equal: <A HREF="../base/any_flatshort.html#f_deep_equal">deep_equal</A> (<B>Current</B>, <B>Result</B>)
</A>
    <A NAME="f_standard_copy"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_standard_copy">standard_copy</A> (other: <A HREF="../base/gc_info_flatshort.html">GC_INFO</A>)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Copy every field of </FONT>`other'<FONT COLOR="red"> onto corresponding field</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> of current object.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>require</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            other_not_void: other /= <B>Void</B>
            type_identity: <A HREF="../base/any_flatshort.html#f_same_type">same_type</A> (other)
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            is_standard_equal: <A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (other)
</A>
    <A NAME="f_standard_twin"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_standard_twin">standard_twin</A>: <A HREF="../base/gc_info_flatshort.html">GC_INFO</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> New object field-by-field identical to </FONT>`other'<FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Always uses default copying semantics.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            standard_twin_not_void: <B>Result</B> /= <B>Void</B>
            equal: <A HREF="../base/any_flatshort.html#f_standard_equal">standard_equal</A> (<B>Result</B>, <B>Current</B>)
</A>
    <A NAME="f_twin"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_twin">twin</A>: <A HREF="../base/gc_info_flatshort.html">GC_INFO</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> New object equal to </FONT>`Current'
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> </FONT><A HREF="../base/any_flatshort.html#f_twin">twin</A><FONT COLOR="red"> calls </FONT><A HREF="../base/any_flatshort.html#f_copy">copy</A><FONT COLOR="red">; to change copying/twining semantics, redefine </FONT><A HREF="../base/any_flatshort.html#f_copy">copy</A><FONT COLOR="red">.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            twin_not_void: <B>Result</B> /= <B>Void</B>
            is_equal: <B>Result</B>.<A HREF="../base/any_flatshort.html#f_is_equal">is_equal</A> (<B>Current</B>)
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Basic operations</FONT>

    <A NAME="f_default"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_default">default</A>: ?<A HREF="../base/gc_info_flatshort.html">GC_INFO</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Default value of object's type</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_default_pointer"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_default_pointer">default_pointer</A>: <A HREF="../base/pointer_flatshort.html">POINTER</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Default value of type </FONT>`POINTER'
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (Avoid the need to write </FONT>`p'<FONT COLOR="red">.</FONT><A HREF="../base/any_flatshort.html#f_default">default</A><FONT COLOR="red"> for</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> some </FONT>`p'<FONT COLOR="red"> of type </FONT>`POINTER'<FONT COLOR="red">.)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_default_rescue"><A HREF="../base/any_flatshort.html#f_default_rescue">default_rescue</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Process exception for routines with no Rescue clause.</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> (Default: do nothing.)</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_do_nothing"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_do_nothing">do_nothing</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Execute a null action.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Output</FONT>

    <A NAME="f_io"><A HREF="../base/any_flatshort.html#f_io">io</A>: <A HREF="../base/std_files_flatshort.html">STD_FILES</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Handle to standard file setup</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            io_not_void: <B>Result</B> /= <B>Void</B>
</A>
    <A NAME="f_out"><A HREF="../base/any_flatshort.html#f_out">out</A>: <A HREF="../base/string_8_flatshort.html">STRING_8</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> New string containing terse printable representation</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> of current object</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            out_not_void: <B>Result</B> /= <B>Void</B>
</A>
    <A NAME="f_print"><A HREF="../base/any_flatshort.html#f_print">print</A> (some: ?<A HREF="../base/any_flatshort.html">ANY</A>)
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Write terse external representation of </FONT>`some'
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> on standard output.</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
</A>
    <A NAME="f_tagged_out"><B>frozen</B> <A HREF="../base/any_flatshort.html#f_tagged_out">tagged_out</A>: <A HREF="../base/string_8_flatshort.html">STRING_8</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> New string containing terse printable representation</FONT>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> of current object</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            tagged_out_not_void: <B>Result</B> /= <B>Void</B>
</A>    
<B>feature</B> <FONT COLOR="red">--</FONT><FONT COLOR="red"> Platform</FONT>

    <A NAME="f_operating_environment"><A HREF="../base/any_flatshort.html#f_operating_environment">operating_environment</A>: <A HREF="../base/operating_environment_flatshort.html">OPERATING_ENVIRONMENT</A>
            <FONT COLOR="red">--</FONT><FONT COLOR="red"> Objects available from the operating system</FONT>
            <FONT COLOR="red">--</FONT> <FONT COLOR="red">(from </FONT><A HREF="../base/any_flatshort.html">ANY</A><FONT COLOR="red">)</FONT>
        <B>ensure</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
            operating_environment_not_void: <B>Result</B> /= <B>Void</B>
</A>    
<B>invariant</B>
        <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/memory_structure_flatshort.html">MEMORY_STRUCTURE</A>
    managed_pointer_valid: <B>not</B> <A HREF="../base/memory_structure_flatshort.html#f_shared">shared</A> <B>implies</B> <A HREF="../base/memory_structure_flatshort.html#f_managed_pointer">managed_pointer</A> /= <B>Void</B>
    internal_item_valid: <A HREF="../base/memory_structure_flatshort.html#f_shared">shared</A> <B>implies</B> <A HREF="../base/memory_structure_flatshort.html#f_internal_item">internal_item</A> /= <A HREF="../base/any_flatshort.html#f_default_pointer">default_pointer</A>

        <FONT COLOR="red">--</FONT> <FONT COLOR="red">from </FONT><A HREF="../base/any_flatshort.html">ANY</A>
    reflexive_equality: <A HREF="../base/any_flatshort.html#f_standard_is_equal">standard_is_equal</A> (<B>Current</B>)
    reflexive_conformance: <A HREF="../base/any_flatshort.html#f_conforms_to">conforms_to</A> (<B>Current</B>)

<B>end</B> <FONT COLOR="red">--</FONT> <FONT COLOR="red">class </FONT><A HREF="../base/gc_info_flatshort.html">GC_INFO</A><TABLE BORDER="1" ALIGN="CENTER"><TR><TD><A HREF="../class_list.html">Classes</A></TD><TD><A HREF="../cluster_list.html">Clusters</A></TD><TD><A HREF="../cluster_hierarchy.html">Cluster hierarchy</A></TD><TD><A HREF="gc_info_chart.html">Chart</A></TD><TD><A HREF="gc_info_links.html">Relations</A></TD><TD>Flat contracts</TD></TR></TABLE></PRE>
<P ALIGN="CENTER"> &#045;&#045; Generated by ISE Eiffel &#045;&#045 </P>
<P ALIGN="CENTER">For more details: <A HREF="http://www.eiffel.com">www.eiffel.com</A></P>
</BODY>
</HTML>

